plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
↳ QTRS
↳ DependencyPairsProof
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
MINUS2(x, s1(y)) -> P1(minus2(x, y))
FACTORIAL1(x) -> FACITER2(x, s1(0))
PLUS2(s1(x), y) -> PLUS2(x, y)
TIMES2(s1(x), y) -> PLUS2(y, times2(x, y))
FACITER2(x, y) -> IF4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
IF4(false, x, y, z) -> FACITER2(x, z)
TIMES2(s1(x), y) -> TIMES2(x, y)
FACITER2(x, y) -> MINUS2(x, s1(0))
FACITER2(x, y) -> TIMES2(y, x)
MINUS2(x, s1(y)) -> MINUS2(x, y)
FACITER2(x, y) -> ISZERO1(x)
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
MINUS2(x, s1(y)) -> P1(minus2(x, y))
FACTORIAL1(x) -> FACITER2(x, s1(0))
PLUS2(s1(x), y) -> PLUS2(x, y)
TIMES2(s1(x), y) -> PLUS2(y, times2(x, y))
FACITER2(x, y) -> IF4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
IF4(false, x, y, z) -> FACITER2(x, z)
TIMES2(s1(x), y) -> TIMES2(x, y)
FACITER2(x, y) -> MINUS2(x, s1(0))
FACITER2(x, y) -> TIMES2(y, x)
MINUS2(x, s1(y)) -> MINUS2(x, y)
FACITER2(x, y) -> ISZERO1(x)
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
MINUS2(x, s1(y)) -> MINUS2(x, y)
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MINUS2(x, s1(y)) -> MINUS2(x, y)
POL( MINUS2(x1, x2) ) = 2x1 + 2x2 + 2
POL( s1(x1) ) = 3x1 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
PLUS2(s1(x), y) -> PLUS2(x, y)
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS2(s1(x), y) -> PLUS2(x, y)
POL( s1(x1) ) = x1 + 1
POL( PLUS2(x1, x2) ) = 2x1 + 3x2 + 2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
TIMES2(s1(x), y) -> TIMES2(x, y)
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TIMES2(s1(x), y) -> TIMES2(x, y)
POL( s1(x1) ) = x1 + 1
POL( TIMES2(x1, x2) ) = 2x1 + 3x2 + 2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FACITER2(x, y) -> IF4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
IF4(false, x, y, z) -> FACITER2(x, z)
plus2(0, x) -> x
plus2(s1(x), y) -> s1(plus2(x, y))
times2(0, y) -> 0
times2(s1(x), y) -> plus2(y, times2(x, y))
p1(s1(x)) -> x
p1(0) -> 0
minus2(x, 0) -> x
minus2(0, x) -> 0
minus2(x, s1(y)) -> p1(minus2(x, y))
isZero1(0) -> true
isZero1(s1(x)) -> false
facIter2(x, y) -> if4(isZero1(x), minus2(x, s1(0)), y, times2(y, x))
if4(true, x, y, z) -> y
if4(false, x, y, z) -> facIter2(x, z)
factorial1(x) -> facIter2(x, s1(0))